codigo fuente
Carga de las librarias
library(sf)
library(raster)
library(spData)
library(plotly)
library(DT)
library(tidyr)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(dplyr)
Carga de Datos
# Conjunto Orquideas
orquideas <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/orchidaceae-cr-registros.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude",
"Y_POSSIBLE_NAMES=decimalLatitude"
),
quiet = TRUE
)
# Asignación del sistema de coordenadas
st_crs(orquideas) = 4326
# Conjunto Areas Silvestres Protegidas
ASP <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/sinac/asp/asp-wgs84.geojson",
quiet = TRUE
)
Limpieza de Datos
# Asignandole valor numerico a la columna coorinateUncertintyInMeters y formato de fecha a la columna eventDate
orquideas <-
orquideas %>%
mutate(coordinateUncertaintyInMeters= as.numeric(coordinateUncertaintyInMeters)) %>%
mutate(eventDate= as.Date(eventDate, "%Y-%m-%d"))
# Visualisando la cantidad inicial de Registros
cat("Cantidad original de registros: ", nrow(orquideas))
## Cantidad original de registros: 29863
Paso 1 de la tarea
# Descartando los registros con alta incertidumbre en la ubicación
orquideas <-
orquideas %>%
filter(coordinateUncertaintyInMeters <= 1000)
# Visualisando la cantidad final de Registros
cat("Cantidad de registros después de descartar los de alta incertidumbre en la ubicación: ", nrow(orquideas))
## Cantidad de registros después de descartar los de alta incertidumbre en la ubicación: 677
Paso 2 de la tarea
# Visualisando la cantidad inicial de Registros
cat("Cantidad original de registros: ", nrow(orquideas))
## Cantidad original de registros: 677
# Eliminando registros N/A(espacios vacios) columna species
orquideas <- orquideas[!(orquideas$species== ""), ]
# Visualisando la cantidad final de Registros
cat("Cantidad de registros después de descartar los de alta incertidumbre en la ubicación: ", nrow(orquideas))
## Cantidad de registros después de descartar los de alta incertidumbre en la ubicación: 646
Paso 3 de la tarea
# Eliminando los registros que tienen como valor "Area Marina de Manejo" o "Area Marina Protegida" de la columna descripcio
ASP <- ASP[!(ASP$descripcio == 'Area Marina de Manejo'), ]
ASP <- ASP[!(ASP$descripcio == 'Area marina protegida'), ]
Preparativos para el mapa
# Creación de conjunto de datos con la cantidad de registros por Area Silvestre Protegida
orqui_ASP <-
ASP %>%
sf::st_make_valid()%>%
sf::st_join(orquideas) %>%
group_by(nombre_asp) %>%
summarize(especies = n_distinct(species, na.rm = TRUE))
# Asignandole coordenadas
st_crs(orqui_ASP) = 4326
Mapa Registros de Presencia de Orquídeas por Área Silvestre Protegida
# Paleta de colores
colores_registros <-
colorNumeric(palette = "YlGnBu",
domain = orqui_ASP$especies,
na.color = "transparent")
# Mapa Leaflet
leaflet() %>%
addTiles(group = "OSM") %>%
addPolygons(
data = orqui_ASP,
fillColor = ~ colores_registros(orqui_ASP$especies),
fillOpacity = 0.7,
stroke = TRUE,
color = "black",
weight = 1,
popup = paste(
paste(
"<strong>ASP:</strong>",
orqui_ASP$nombre_asp
),
paste(
"<strong>Cantidad de registros:</strong>",
orqui_ASP$especies
),
sep = '<br/>'
),
group = "Areas silvestres protegidas - registros",
) %>%
addLayersControl(baseGroups = c("OSM"),
overlayGroups = c("Areas silvestres protegidas - registros")) %>%
addLegend(
position = "bottomleft",
pal = colores_registros,
values = orqui_ASP$especies,
group = "Areas silvestres protegidas - registros",
title = "Cantidad de registros"
)